package com.woniuxy.oa.service.impl;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.woniuxy.oa.dao.MessageDAO;
import com.woniuxy.oa.entity.Message;
import com.woniuxy.oa.service.MessageService;
import com.woniuxy.oa.util.OaUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

@Service
@Transactional
public class MessageServiceImpl implements MessageService {
    @Autowired
    private MessageDAO messageDAO;

    /**
     * 增加消息
     *
     * @param message
     */
    @Override
    public void add(Message message, List<String> ids) {
        if (ids != null) {
            for (String id : ids) {
                message.setReceiveId(id);
                message.setId(OaUtil.getId());
                message.setMessageTime(OaUtil.getNow());
                message.setStatus("1");
                messageDAO.add(message);
            }
        }

    }

    /**
     * 通过ID删除消息
     *
     * @param id
     */
    @Override
    public void delete(String id) {
        messageDAO.updateStatus("3", id);
    }

    /**
     * 条件查询所有的消息
     *
     * @return
     */
    @Override
    public List<Message> getAll(Message message) {
        return messageDAO.getAll(message);
    }

    /**
     * 分页
     *
     * @param message
     * @return
     */
    @Override
    public PageInfo getPageBean(Message message, Integer page) {
        PageHelper.startPage(page, 10);
        List<Message> messageList = messageDAO.getAll(message);
        PageInfo pageInfo = new PageInfo(messageList);
        return pageInfo;
    }

    /**
     * 批量删除
     *
     * @param ids
     */
    @Override
    public void del(String[] ids) {
        if (ids != null) {
            for (String id : ids) {
                messageDAO.updateStatus("3", id);
            }
        }

    }

    /**
     * 已读
     *
     * @param id
     */
    @Override
    public void updateRead(String id) {
        messageDAO.updateStatus("2", id);
    }
}
